Skip to content

UnsafePinned: implement opsem effects of UnsafeUnpin#151365

Merged
rust-bors[bot] merged 2 commits intorust-lang:mainfrom
RalfJung:unsafe-unpin-opsem
Feb 15, 2026
Merged

UnsafePinned: implement opsem effects of UnsafeUnpin#151365
rust-bors[bot] merged 2 commits intorust-lang:mainfrom
RalfJung:unsafe-unpin-opsem

Conversation

@RalfJung
Copy link
Member

This implements the next step for #125735: actually making UnsafePinned have special opsem effects by suppressing the noalias even if the type is wrapped in an Unpin wrapper.

For backwards compatibility we also still keep the Unpin hack, i.e. a type must be both Unpin and UnsafeUnpin to get noalias.

@rustbot
Copy link
Collaborator

rustbot commented Jan 19, 2026

The Miri subtree was changed

cc @rust-lang/miri

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jan 19, 2026
@rustbot rustbot added the T-libs Relevant to the library team, which will review and decide on the PR/issue. label Jan 19, 2026
@rustbot
Copy link
Collaborator

rustbot commented Jan 19, 2026

r? @davidtwco

rustbot has assigned @davidtwco.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@rustbot
Copy link
Collaborator

rustbot commented Jan 19, 2026

This PR modifies tests/auxiliary/minicore.rs.

cc @jieyouxu

@rustbot rustbot added the A-test-infra-minicore Area: `minicore` test auxiliary and `//@ add-core-stubs` label Jan 19, 2026
@rust-log-analyzer

This comment has been minimized.

@RalfJung
Copy link
Member Author

Uh, what is happening with the link checker here? I have no idea why this PR would add new links to NonZeroInner...

@jieyouxu jieyouxu self-assigned this Jan 20, 2026
@jieyouxu jieyouxu closed this Jan 21, 2026
@rustbot rustbot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jan 21, 2026
@jieyouxu jieyouxu reopened this Jan 21, 2026
@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jan 21, 2026
@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@jieyouxu jieyouxu removed their assignment Jan 21, 2026
@RalfJung
Copy link
Member Author

Uh, no idea what's going on, but it some sort of rustdoc weirdness... Cc @rust-lang/rustdoc

@rustbot rustbot added the T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. label Jan 21, 2026
@RalfJung
Copy link
Member Author

@davidtwco will you be fine to review this or should I go look for someone else?

Not sure who else knows their way around our LLVM attribute handling here... @nikic @workingjubilee maybe?

@rust-bors

This comment has been minimized.

@RalfJung
Copy link
Member Author

RalfJung commented Feb 5, 2026

@rustbot reroll

@rustbot rustbot assigned petrochenkov and unassigned davidtwco Feb 5, 2026
@rustbot

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@davidtwco
Copy link
Member

@davidtwco will you be fine to review this or should I go look for someone else?

Not sure who else knows their way around our LLVM attribute handling here... @nikic @workingjubilee maybe?

Sorry for the delay in getting back to you, some of this is a bit out of cache for me, so probably best to reroll.

@RalfJung
Copy link
Member Author

RalfJung commented Feb 5, 2026

@rustbot reroll

@rustbot rustbot assigned BoxyUwU and unassigned petrochenkov Feb 5, 2026
@rustbot
Copy link
Collaborator

rustbot commented Feb 12, 2026

This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed.

Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers.

@BoxyUwU
Copy link
Member

BoxyUwU commented Feb 14, 2026

@bors r+

@rust-bors
Copy link
Contributor

rust-bors bot commented Feb 14, 2026

📌 Commit 0cbe1cc has been approved by BoxyUwU

It is now in the queue for this repository.

@rust-bors rust-bors bot added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Feb 14, 2026
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Feb 14, 2026
…yUwU

UnsafePinned: implement opsem effects of UnsafeUnpin

This implements the next step for rust-lang#125735: actually making `UnsafePinned` have special opsem effects by suppressing the `noalias` *even if* the type is wrapped in an `Unpin` wrapper.

For backwards compatibility we also still keep the `Unpin` hack, i.e. a type must be both `Unpin` and `UnsafeUnpin` to get `noalias`.
rust-bors bot pushed a commit that referenced this pull request Feb 14, 2026
…uwer

Rollup of 7 pull requests

Successful merges:

 - #152622 (Update GCC subtree)
 - #145024 (Optimize indexing slices and strs with inclusive ranges)
 - #151365 (UnsafePinned: implement opsem effects of UnsafeUnpin)
 - #152381 (Do not require `'static` for obtaining reflection information.)
 - #143575 (Remove named lifetimes in some `PartialOrd` & `PartialEq` `impl`s)
 - #152404 (tests: adapt align-offset.rs for InstCombine improvements in LLVM 23)
 - #152582 (rustc_query_impl: Use `ControlFlow` in `visit_waiters` instead of nested options)
rust-bors bot pushed a commit that referenced this pull request Feb 14, 2026
…uwer

Rollup of 7 pull requests

Successful merges:

 - #152622 (Update GCC subtree)
 - #145024 (Optimize indexing slices and strs with inclusive ranges)
 - #151365 (UnsafePinned: implement opsem effects of UnsafeUnpin)
 - #152381 (Do not require `'static` for obtaining reflection information.)
 - #143575 (Remove named lifetimes in some `PartialOrd` & `PartialEq` `impl`s)
 - #152404 (tests: adapt align-offset.rs for InstCombine improvements in LLVM 23)
 - #152582 (rustc_query_impl: Use `ControlFlow` in `visit_waiters` instead of nested options)
@rust-bors rust-bors bot merged commit 33c2a6e into rust-lang:main Feb 15, 2026
11 checks passed
@rustbot rustbot added this to the 1.95.0 milestone Feb 15, 2026
rust-timer added a commit that referenced this pull request Feb 15, 2026
Rollup merge of #151365 - RalfJung:unsafe-unpin-opsem, r=BoxyUwU

UnsafePinned: implement opsem effects of UnsafeUnpin

This implements the next step for #125735: actually making `UnsafePinned` have special opsem effects by suppressing the `noalias` *even if* the type is wrapped in an `Unpin` wrapper.

For backwards compatibility we also still keep the `Unpin` hack, i.e. a type must be both `Unpin` and `UnsafeUnpin` to get `noalias`.
github-actions bot pushed a commit to rust-lang/miri that referenced this pull request Feb 15, 2026
…uwer

Rollup of 7 pull requests

Successful merges:

 - rust-lang/rust#152622 (Update GCC subtree)
 - rust-lang/rust#145024 (Optimize indexing slices and strs with inclusive ranges)
 - rust-lang/rust#151365 (UnsafePinned: implement opsem effects of UnsafeUnpin)
 - rust-lang/rust#152381 (Do not require `'static` for obtaining reflection information.)
 - rust-lang/rust#143575 (Remove named lifetimes in some `PartialOrd` & `PartialEq` `impl`s)
 - rust-lang/rust#152404 (tests: adapt align-offset.rs for InstCombine improvements in LLVM 23)
 - rust-lang/rust#152582 (rustc_query_impl: Use `ControlFlow` in `visit_waiters` instead of nested options)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-test-infra-minicore Area: `minicore` test auxiliary and `//@ add-core-stubs` S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants